package com.qf.contract.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class ContractDetailsDisplayVo {
    /**
     * 合同名称
     */
    @TableField(value = "contract_name")
    @ApiModelProperty(value = "合同名称")
    private String contractName;

    /**
     * 合同编号
     */
    @TableField(value = "contract_number")
    @ApiModelProperty(value = "合同编号")
    private String contractNumber;

    /**
     * 合同类型名  外键 关联FTypeOfContract
     */
    @TableField(value = "type_contract_name")
    @ApiModelProperty(value = "合同类型名")
    private String typeContractName;

    /**
     * 合同开始日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "contract_signing_date")
    @ApiModelProperty(value = "合同开始日期")
    private Date contractSigningDate;
    /**
     * 合同结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "contract_stop_date")
    @ApiModelProperty(value = "合同结束日期")
    private Date contractStopDate;

    /**
     * 合同有效期 合同结束日期减去合同开始日期，手动进行操作
     */
    @TableField(value = "contract_stop_date")
    @ApiModelProperty(value = "合同有效期")
    private int periodOfValidity;
    /**
     * 合同金额
     */
    @TableField(value = "contract_amount")
    @ApiModelProperty(value = "合同金额")
    private Integer contractAmount;
    /**
     * 合同签订部门 默认人事
     */
    @TableField(value = "contract_signing_department")
    @ApiModelProperty(value = "合同签订部门 默认人事")
    private Integer contractSigningDepartment;

    /**
     * 合同状态，0代表初稿，1代表审核中，2代表执行中，3代表变更中
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "contract_status")
    @ApiModelProperty(value = "合同状态，0代表初稿，1代表审核中，2代表执行中，3代表变更中")
    private Integer contractStatus;


    /**
     * 申请人
     */
    @TableField(value = "applicant")
    @ApiModelProperty(value = "申请人")
    private String applicant;

    /**
     * 合同附件
     */
    @TableField(value = "appendices_of_a_contract")
    @ApiModelProperty(value = "合同附件")
    private String appendicesOfAContract;
    /**
     * 备注
     */
    @TableField(value = "notes")
    @ApiModelProperty(value = "备注")
    private String notes;
}
